package com.mzj.saas.sdk.withdraw.vo;

import java.math.BigDecimal;

/**
 * 支付宝转账请求
 * @author hp
 *
 */
public class AliWithdraw {
	
	
	public AliWithdraw() {}
	
	public AliWithdraw(String appid,String privateKey,String publicKey,String outBizNo,BigDecimal transAmount,String productCode,String remark,String identity,
			String identityType,String name) {
		this.appid = appid;
		this.privateKey = privateKey;
		this.publicKey = publicKey;
		this.outBizNo = outBizNo;
		this.transAmount = transAmount;
		this.productCode = productCode;
		this.remark = remark;
		this.identity = identity;
		this.identityType = identityType;
		this.name = name;
	}
	
	
	/**
	 * 支付宝分配给开发者的应用ID
	 */
	private String appid;
	/**
	 * 私钥
	 */
	private String privateKey;
	/**
	 * 公钥
	 */
	private String publicKey;
	/**
	 * 唯一订单号，自定义。对于不同转账请求，需保证该订单号在自身系统唯一。
	 */
	private String outBizNo;
	
	/**
	 * 订单总金额，单位为元，精确到小数点后两位，取值范围[0.1,100000000]
	 */
	private BigDecimal transAmount;
	
	/**
	 * 业务产品码，单笔无密转账到支付宝账户固定为:
				TRANS_ACCOUNT_NO_PWD；
	        收发现金红包固定为:
		        STD_RED_PACKET；
	*/
	private String productCode;
	
	/**
	 * 业务备注(可选)
	 */
	private String remark;
	
	/**
	 * 参与方的唯一标识
	 */
	private String identity;
	
	/**
	 * 参与方的标识类型，目前支持如下类型：
           1、ALIPAY_USER_ID 支付宝的会员ID
           2、ALIPAY_LOGON_ID：支付宝登录号，支持邮箱和手机号格式
	 */
	private String identityType;
	
	/**
	 * (可选)
	 * identityType=ALIPAY_LOGON_ID时，本字段必填。
	 * 将校验收款支付宝账号姓名一致性
	 */
	private String name;

	public String getAppid() {
		return appid;
	}

	public void setAppid(String appid) {
		this.appid = appid;
	}

	public String getPrivateKey() {
		return privateKey;
	}

	public void setPrivateKey(String privateKey) {
		this.privateKey = privateKey;
	}

	public String getPublicKey() {
		return publicKey;
	}

	public void setPublicKey(String publicKey) {
		this.publicKey = publicKey;
	}

	public String getOutBizNo() {
		return outBizNo;
	}

	public void setOutBizNo(String outBizNo) {
		this.outBizNo = outBizNo;
	}

	public BigDecimal getTransAmount() {
		return transAmount;
	}

	public void setTransAmount(BigDecimal transAmount) {
		this.transAmount = transAmount;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getIdentity() {
		return identity;
	}

	public void setIdentity(String identity) {
		this.identity = identity;
	}

	public String getIdentityType() {
		return identityType;
	}

	public void setIdentityType(String identityType) {
		this.identityType = identityType;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}
